package main

//给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
//
//请必须使用时间复杂度为 O(log n) 的算法。
//
func main() {

}

func searchInsert(nums []int, target int) int {
	left := 0
	right := len(nums) - 1

	for right >= left {
		mid := left + (right-left)/2
		if nums[mid] == target {
			return mid
		}
		if nums[mid] > target {
			right--
		} else if nums[mid+1] >= target {
			return mid + 1
		} else {
			left++
		}
	}

}
